Current File : //usr/share/webmin/custom/form.cgi |
#!/usr/bin/perl
# form.cgi
# Display the form for one custom command on a page
require './custom-lib.pl';
&ReadParse();
$cmd = &get_command($in{'id'}, $in{'idx'});
&can_run_command($cmd) || &error($text{'form_ecannot'});
# Display form for command parameters
&ui_print_header(undef, $text{'form_title'}, "");
@a = @{$cmd->{'args'}};
@up = grep { $_->{'type'} == 10 } @a;
if ($cmd->{'edit'}) {
print &ui_form_start("view.cgi");
}
elsif (@up) {
# Has upload fields
@ufn = map { $_->{'name'} } @up;
$upid = time().$$;
print &ui_form_start("run.cgi?id=$upid",
"form-data", undef,
&read_parse_mime_javascript($upid, \@ufn));
}
elsif (@a) {
print &ui_form_start("run.cgi", "post");
}
else {
print &ui_form_start("run.cgi");
}
print &ui_hidden("id", $cmd->{'id'});
print &ui_table_start($cmd->{'html'} || $cmd->{'desc'}, "width=100%", 4,
[ "width=20%", "width=30%", "width=20%", "width=30%" ]);
foreach $a (@{$cmd->{'args'}}) {
print &ui_table_row(&html_escape($a->{'desc'}),
&show_parameter_input($a, 0), 2,
[ "valign=top", "valign=top" ]);
$got_submit++ if ($a->{'type'} == 16);
}
$txt = $cmd->{'edit'} ? $text{'form_edit'} : $text{'form_exec'};
print &ui_table_end();
print &ui_form_end($got_submit ? [ ] : [ [ undef, $txt ] ]);
&ui_print_footer("", $text{'index_return'});